const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  publicPath: '', // 解决本地文件打开时资源路径问题
  transpileDependencies: true,
  lintOnSave: false, // 关闭严格模式
  devServer: {
    port: 80,
    client: {
      overlay: false // 当出现编译错误或警告时，在浏览器中不会显示全屏覆盖层
    }
  },
  css: {
    loaderOptions: {
      postcss: {
        postcssOptions: {
          plugins: [
            require('postcss-pxtorem')({
              rootValue: 16,
              propList: ['*']
            })
          ]
        }
      }
    }
  },
  // 配置全局变量，用于获取版本号
  chainWebpack: (config) => {
    config.plugin('define').tap((args) => {
      args[0]['process.env'].VERSION = JSON.stringify(
        require('./package.json').version
      )
      return args
    })
    config.output.globalObject('window')
  },
  configureWebpack: {
    output: {
      chunkFilename: '[name].[chunkhash].js',
      chunkLoadingGlobal: 'webpackJsonpSports',
      globalObject: 'window'
    },
    optimization: {
      splitChunks: {
        chunks: 'all', // 所有模块都参与拆分
        minSize: 20000, // 拆分前的最小模块大小
        maxSize: 244000, // 拆分后的最大模块大小
        minChunks: 1 // 拆分前的最小模块数量
      }
    }
  }
})
